home *** CD-ROM | disk | FTP | other *** search
/ 3D Images / 3D Images.iso / programs / amiga / icoons / doc / icoons.doc < prev    next >
Encoding:
Text File  |  1995-01-12  |  28.9 KB  |  739 lines

  1.                            ICoons v. 1.0
  2.  
  3. 1. Introduction
  4. ================
  5.  
  6. ICoons is a spline based object modeller which can be used  to  generate
  7. objects in TTDDD format.
  8.  
  9. TTDDD files can be converted to lots  of  different  object  formats  by
  10. using the T3DLIB shareware package by Glenn Lewis.
  11.  
  12. This document is a poor mans substitute for a real manual, but  I  don't
  13. have time to better one. If you don't like it, you're welcome to write a
  14. better one :)
  15.  
  16. ICoons may be distributed under the terms  of  the  GNU  General  Public
  17. License,  this  license  has been included in file COPYING found in this
  18. distribution.
  19.  
  20. In the following, I'll refer to the  iff  pictures  included  with  this
  21. documentation. A reference such as 1-1 refers to the first figure in the
  22. Man1.iff file.
  23.  
  24. 1.1: About splines:
  25. ---------------------
  26. ICoons is based on a special type  of  curves  called  "Kochanek-Bartels
  27. splines", these splines has the following properties:
  28.  
  29.      They pass through their control points (called knots),
  30.      
  31.      It is possible to control the local behaviour of the spline at each
  32.      knot,  by   varying  three  parameters  called  TENSION,  BIAS  and
  33.      CONTINUITY.
  34.  
  35. It is possible to model nearly any curve by placing knots and  modifying
  36. these three parameters at each knot.
  37.  
  38.  
  39. I won't even try to describe how tension, bias and  continuity  controls
  40. the spline, it is much easier (for me at least :-) to tell you to try to
  41. create a spline in the editor and modify the parameters.
  42.  
  43. The piece of spline between two knots is called a spline segment.
  44.  
  45. A spline can consist of an unlimited number of knots, but it will always
  46. consist of at least 2 knots: The endpoints.  (See figure 1-1 & 1-2).
  47.  
  48. It is also possible to form a closed (looping) curve by  connecting  the
  49. endpoints  of  a  spline  to each other. Such a spline should contain at
  50. least 3 knots (See figure 1-3).
  51.  
  52. In the editor, it is possible to connect knots from different splines to
  53. each other. When you do this, the connected knots will always be on  the
  54. same  physical  position.  They  will,  however,  still keep their other
  55. attributes (tension etc.)  Figure 1-4 shows two 3-knot splines where the
  56. central knots of each spline has been connected to each  other.  If  you
  57. would try to move the central knot of one of the splines, the other knot
  58. would  follow  automatically.   Figure  1-5 shows another example of two
  59. connected splines.
  60.  
  61.  
  62. 1.2: About surfaces:
  63. ---------------------
  64. The surfaces created by ICoons, are so called bicubically blended  Coons
  65. surfaces,  such  a  surface  is  fully defined by its (up to) 4 boundary
  66. curves.  The points on the surface  is  found  simply  by  interpolation
  67. between these boundary curves.
  68.  
  69. These surfaces has certain severe drawbacks (which I won't mention  :-),
  70. but  they  have  some  features which makes it easy to create a modeller
  71. based on them:
  72.  
  73.      The surface is defined fully by the boundary curves, this mean that
  74.      there's no control points inside the surface.   (The  more  popular
  75.      Bezier  surfaces  has  internal  control  points.   It  can be very
  76.      difficult for the user to visualize where these controlpoints are).
  77.      
  78.      The surface interpolates (ie. passes through) the  boundary  curves
  79.      and the control points.
  80.  
  81. Together these two  'features'  makes  it  semi-easy  for  the  user  to
  82. visualize the surface by looking on the boundary curves.
  83.  
  84. In ICoons, a surface is made up of patches: Each patch (which is a Coons
  85. surface) is defined by the 2, 3 or  4  connected  spline  segments  that
  86. surround it. These segments must not all be from the same spline.
  87.  
  88. If there's more than 4 segments, then the area defined by  the  segments
  89. don't define a patch, even if the segments comes from different patches.
  90.  
  91. Fig 2-1 to Fig 2-5 shows different examples of this.  Furthermore Fig 2-
  92. 5 shows how to make a hole in a surface.
  93.  
  94.  
  95. 1.3: About the display:
  96. ------------------------
  97. The display should look familiar to all Imagine users. It consists of  4
  98. views which displays the object from 4 different directions:
  99.  
  100.     Lower right view: Along the X axis,
  101.     Lower left view : Along the Y axis,
  102.     Upper left view : Along the Z axis,
  103.     Upper right view: From a user defined direction (perspective view).
  104.  
  105. The views normally only display the splines, but it is possible to get a
  106. rendering of the surface in the perspective view.
  107.  
  108. If the user selects one of the big vertical gadgets labelled X, Y, Z and
  109. P, the corresponding view will expand and fill the full  screen.  It  is
  110. then  possible  to  return  to the normal 4-view display by closing this
  111. window, or by selecting the 'B' (back) gadget found in the big view.
  112.  
  113. The following color coding is used:
  114.  
  115.     Splines:
  116.     Gray:    Unselected spline segments are shown in gray.
  117.     Red:    The up to 2 spline segments near the currently selected
  118.         knot are shown in red.
  119.     Violet:     When the user is modifying a spline, the spline segments 
  120.         which are affected are shown in violet.
  121.  
  122.     Knots:
  123.     ????  : Some strange color is used for unselected knots.
  124.     Yellow:    The selected knot is shown as a yellow dot.
  125.     Green:  All "grouped" knots are shown in green.
  126.  
  127.     Axes:
  128.     Red:    The X axis is red.
  129.     Yellow:    The Y axis is yellow.
  130.     Green:    The Z axis is green.
  131.  
  132.  
  133. 1.3: About the user interface:
  134. -------------------------------
  135. Everything in the modeller  can  be  done  with  the  mouse,  either  by
  136. selecting gadgets, or by using menus.
  137.  
  138. The seasoned user will probably  want  to  use  the  keyboard  shortcuts
  139. instead.   Where  shortcuts  exist, they are indicated in the menu. Some
  140. shortcuts  use  the  left-amiga  +  key  combination  while  others  are
  141. activated by just pressing a key (no left-amiga needed).
  142.  
  143. Most of the  shortcuts  are  modelled  after  Journeyman:Apprentice,  so
  144. owners of this fine program will get used to the shortcuts very quickly.
  145.  
  146. 2.0: Reference 'manual':
  147. =========================
  148.  
  149. This section describes all commands and menu entries one by one.
  150.  
  151. 2.1: Mouse commands:
  152. ---------------------
  153. When no other command has been activated, you are in move-mode. In  this
  154. mode,  you can click on a point to select it. If you keep the left mouse
  155. button down, you can drag the point to another  position.   Release  the
  156. mouse when you're satisfied with the new position.
  157.  
  158. It is possible to connect two splines while moving a  point:  Just  move
  159. the  point close to a point on another spline, and press the right mouse
  160. button (while keeping the left down).
  161.  
  162. When you do this, the two splines will be connected to each other, try to
  163. verify this by moving the point again.
  164.  
  165. It is also possible to form  a  closed  spline  by  connecting  the  two
  166. endpoints of the spline.
  167.  
  168. If the program is in Group mode, you'll drag  all  the  selected  points
  169. instead of just one, it isn't possible to connect splines in this mode.
  170.  
  171. 2.2: Project menu:
  172. -------------------
  173. This menu contain general commands:
  174.  
  175. About...                     (Shortcut: None)
  176. -----------------------------------------------------------------------
  177. Select this entry to get a  short  message  about  the  version  of  the
  178. program, and who wrote it.
  179.  
  180. The pop up also contains information about the number of splines,  knots
  181. and points in the current object.
  182.  
  183. New                         (Shortcut: None)
  184. -----------------------------------------------------------------------
  185. Delete the current object from memory, and start a  new  one.  The  user
  186. will be requested to confirm/cancel the operation
  187.  
  188. Load - ICoons object                (Shortcut: LAmiga-L)
  189. -----------------------------------------------------------------------
  190. Load an ICoons object from a disk file. The file can be selected from  a
  191. file  requester.  The  default  file extension for ICoons save files are
  192. ".ic".
  193.  
  194. Load - JourneyMan object            (Shortcut: None)
  195. -----------------------------------------------------------------------
  196. Load a JourneyMan:Apprentice object. ICoons are  able  to  load  objects
  197. made  bye  the  JourneyMan Sculpture module, these files normally have a
  198. ".seg" extension.
  199.  
  200. As JourneyMan and ICoons use different  kind  of  splines,  and  as  the
  201. JourneyMan  file  format  hasn't been published by Hash Enterprises, the
  202. result may not be as expected. I haven't had problems with  any  of  the
  203. objects that I've made in JourneyMan though.
  204.  
  205. The JourneyMan spline parameters (Alpha, Gamma & Magnitude) are ignored,
  206. the resulting splines will always have the default spline parameters.
  207.  
  208.     
  209. Save                                (Shortcut: LAMiga-S)
  210. -----------------------------------------------------------------------
  211. Save the current object in a disk file. The file name  may  be  selected
  212. from a file requester.
  213.  
  214.  
  215. Generate - TTDDD format                   (Shortcut: LAMiga-S)
  216. -----------------------------------------------------------------------
  217. Generate a file containing a TTDDD description of  the  current  object.
  218. Each  patch will be cut up in a N * N of triangles where N is the "Patch
  219. resolution" parameter from the configuration window.
  220.  
  221. A little N creates small and fast objects, while a big N creates objects
  222. which follow the corresponding splines much nicer.
  223.  
  224. The file name may be selected from a file requester.
  225.  
  226. The resulting file can be converted to lots of different formats by Glen
  227. Lewis' shareware T3DLIB package which can be found on ftp  sites  around
  228. the world (for instance hubcap.clemson.edu).
  229.  
  230.  
  231. Configuration - Load                      (Shortcut: None)
  232. -----------------------------------------------------------------------
  233. Load  ICoons  configuration  parameters  from  a  disk  file.  The  file
  234. "s:ICoons.cfg" is loaded automatically whenever the program starts.
  235.  
  236.  
  237. Configuration - Save                      (Shortcut: None)
  238. -----------------------------------------------------------------------
  239. Save current ICoons configuration parameters to a disk  file.  The  file
  240. "s:ICoons.cfg"  is  loaded automatically whenever the program starts, so
  241. if  you   want   to   change  the  default  parameters,  then  create  a
  242. configuration file with this name.
  243.  
  244.  
  245. Configuration - Edit                      (Shortcut: None)
  246. -----------------------------------------------------------------------
  247. Select this menu entry to bring up a window with  the  parameters  which
  248. are configurable:
  249.  
  250.      Grid size: 
  251.          The size of the grid in world coordinates.
  252.  
  253.      Spline resolution:
  254.          Number of line segments to draw for each spline. If this number
  255.          is big, then the splines will look very smooth, but  will  take
  256.          longer  time to draw. If this number is small, then the splines
  257.          will be 'edgy', but will be drawn fast. The default value is 4.
  258.  
  259.      Patch resolution:
  260.          Number of line segments used  in  splines  when  rendering  and
  261.          generating  TTDDD  objects.  The number of triangles in a patch
  262.          will be the square of this  number.  A  small  value  for  this
  263.          parameter  will give small objects, and fast rendering times. A
  264.          big value will give smoother objects and use more memory.
  265.          
  266.          Note that generated TTDDD objects will have the  Phong  shading
  267.          activated.  So  it is not normally necessary to use a very high
  268.          number here. The default value is 4, 2 seems to work ok too.
  269.  
  270.      Draw delay:
  271.          The number of seconds  to  wait  before  drawing  splines  when
  272.          manipulating the current object.
  273.     
  274.          When moving, scaling etc. you normally will see a bounding box.
  275.          If you stop moving the mouse for the time given here, then  the
  276.          object  will  be drawn. The bounding box will reappear when you
  277.          start to move the mouse again.
  278.     
  279.          For very fast machines, you can set this value low. I  use  0.5
  280.          on my 68030.
  281.  
  282.      Knot:
  283.          This number defines the max number of mouse moves in the  event
  284.          queue when modifying knot parameters.
  285.     
  286.          A high number here will give a smooth change  in  the  display,
  287.          but  will take longer time. If you use 0, the display will only
  288.          be redrawn when the queue is empty.
  289.  
  290.      Rot. Persp:
  291.          This number defines the max number of mouse moves in the  event
  292.          queue when rotating the perspective view.
  293.  
  294.      Rot. group:
  295.          This number defines the max number of mouse moves in the  event
  296.          queue when rotating a group of points.
  297.  
  298.      Scale group:
  299.          This number defines the max number of mouse moves in the  event
  300.          queue when scaling a group of points.
  301.  
  302.      Move group:
  303.          This number defines the max number of mouse moves in the  event
  304.          queue when moving a group of points.
  305.  
  306.      Move:        
  307.          This number defines the max number of mouse moves in the  event
  308.          queue when moving a single point.
  309.  
  310.      Ok:
  311.          Select this gadget to activate the  changes  you've  made.  The
  312.          changes   won't   be   saved   to   disk   automatically,   use
  313.          "Configuration-Save" to do this.
  314.  
  315.      Cancel:
  316.          Select this gadget if you don't want to  activate  the  changes
  317.          you've made.
  318.  
  319. Configuration - Quit                      (Shortcut: LAmiga-Q)
  320. -----------------------------------------------------------------------
  321. Quit the program. The user must confirm/cancel this operation.  
  322. Remember to save the object before quitting!
  323.  
  324.  
  325. 2.3: Display menu:
  326. -------------------
  327. This menu contain commands which modifies the display:
  328.  
  329. Zoom in                     (Shortcut: LAmiga-I)
  330. -----------------------------------------------------------------------
  331. Zoom in on the display.
  332.  
  333.  
  334. Zoom out                     (Shortcut: LAmiga-O)
  335. -----------------------------------------------------------------------
  336. Zoom out on the display.
  337.  
  338.  
  339. Center                         (Shortcut: LAmiga-C)
  340. -----------------------------------------------------------------------
  341. Place center of view.
  342. After selecting this command, you must click in one of the views. That
  343. position will be centered in the display.
  344.  
  345. Rotate P.                    (Shortcut: 'R' gadget)
  346. -----------------------------------------------------------------------
  347. Use this command to rotate the perspective view.
  348. After selecting Rotate P., you must click in one of the views, and  keep
  349. the  button down. Now the perspective view will rotate when you move the
  350. button. Release the button when you are satisfied with the direction.
  351.  
  352. This command can also be activated by pressing the 'R'  gadget  left  of
  353. the perspective view.
  354.  
  355.  
  356. Pan                          (Shortcut: p)
  357. -----------------------------------------------------------------------
  358. Use this command to pan the views.
  359. After selecting Pan, you must click in one of the views,  and  keep  the
  360. button down. The object will be substituded with a bounding box, and you
  361. can  now  pan the view by moving the mouse.  Release the button when you
  362. are satisfied with the new position.
  363.  
  364.  
  365. Grid                         (Shortcut: None)
  366. -----------------------------------------------------------------------
  367. Select this menu entry to toggle visibility of the grid.
  368. The size of the grid is defined in the configuration menu.
  369.  
  370. Grid snap                        (Shortcut: None)
  371. -----------------------------------------------------------------------
  372. Select this menu entry to toggle grid snapping.
  373. When grid snapping is active, you can only place  knots/points  on  grid
  374. points. This can make it much easier to place points correctly.
  375.  
  376. Grid snapping can be active even if the grid is invisible.
  377.  
  378.  
  379. Resolution - Up                    (Shortcut: +)
  380. -----------------------------------------------------------------------
  381. Increase the spline resolution by 1. See "Configuration - Edit" for more
  382. information about this parameter.
  383.  
  384.  
  385. Resolution - Down                (Shortcut: -)
  386. -----------------------------------------------------------------------
  387. Decrease the spline resolution by 1. See "Configuration - Edit" for more
  388. information about this parameter.
  389.  
  390.  
  391. Redraw                        (Shortcut: space bar)
  392. -----------------------------------------------------------------------
  393. Redraw all views.
  394.  
  395. 2.4: Windows:
  396. -------------------
  397. This menu contain commands which display/remove windows.
  398.  
  399.  
  400. Knot...                     (Shortcut: LAmiga-K)
  401. -----------------------------------------------------------------------
  402. Select this command to display/remove the Knot information window.  
  403. This window contains information about the currently selected knot:
  404.  
  405.     Point:      Id of the knot (-1 if no knot is selected)
  406.     Pos.:        Position of the knot.
  407.     Tension:    Tension of the knot.
  408.     Bias:       Bias of the knot.
  409.     Continuity: Continuity of the knot.
  410.  
  411. It is also possible to modify the spline parameters from this window:
  412. This can be done either by entering the new value into the number field,
  413. or by selecting the corresponding gadget (for instance "Tension").
  414.  
  415. If you select one of the gadgets, you then have to click in one  of  the
  416. views,  and  keep  the  left  mouse button down.  When you then move the
  417. mouse, the parameter will change.  If you stop moving the  mouse  for  a
  418. while, the display will be redrawn to show the splines as they look with
  419. the new value.  Release the button when you're satisfied with the value.
  420.  
  421. You can remove the window by selecting the "close window" gadget.
  422.  
  423. Scale...                     (Shortcut: LAmiga-Z)
  424. -----------------------------------------------------------------------
  425. Select this command to display/remove the Scale group window.
  426. This window should be used when you want to scale the currently selected
  427. group of points (see the group commands).
  428.  
  429. The window contains the following gadgets:
  430.     Scale X:    Select this if you want to scale along the X axis.
  431.     Scale Y:    Select this if you want to scale along the Y axis.
  432.     Scale Z:    Select this if you want to scale along the Z axis.
  433.     Scale Factor:    Enter the scale factor here.
  434.  
  435. It is also possible to scale the current group  interactively,  this  is
  436. done  by  selecting the "Scale factor" gadget.  Now you have to click in
  437. one of the views, and keep the left mouse button down.
  438.  
  439. When you then move the mouse, the scale parameter will change.   
  440. If you stop moving the mouse for a while, the display will be redrawn to
  441. show the splines as they look with the new value.   Release  the  button
  442. when you're satisfied with the value.
  443.  
  444. Note that it is possible to enter a negative scale factor. This is useful
  445. if you want to mirror the object.
  446.  
  447. You can remove the window by selecting the "close window" gadget.
  448.  
  449.  
  450. Rotate...                     (Shortcut: LAmiga-R)
  451. -----------------------------------------------------------------------
  452. Select this command to display/remove the Rotate group window.
  453. This window should be  used  when  you  want  to  rotate  the  currently
  454. selected group of points (see the group commands) around the origin.
  455.  
  456. The window contains the following gadgets:
  457.     Rotate around X: Select this if you want to rotate around the X axis.
  458.     Rotate around Y: Select this if you want to rotate around the Y axis.
  459.     Rotate around Z: Select this if you want to rotate around the Z axis.
  460.     Angle          : Enter the rotation angle (in degrees) here.
  461.  
  462. It is also possible to rotate the current group interactively,  this  is
  463. done  by  selecting the "Angle" gadget.  Now you have to click in one of
  464. the views, and keep the left mouse button down.  When you then move  the
  465. mouse, the angle will change.  
  466. If you stop moving the mouse for a while, the display will be redrawn to
  467. show the splines as they look with the new value.   Release  the  button
  468. when you're satisfied with the value.
  469.  
  470. You can remove the window by selecting the "close window" gadget.
  471.  
  472.  
  473. Move...                     (Shortcut: LAmiga-M)
  474. -----------------------------------------------------------------------
  475. Select this command to display/remove the Move group window.
  476. This window can be used when you want to movete the  currently  selected
  477. group of points (see the group commands).
  478.  
  479. The window contains the following gadgets:
  480.     X: The displacement along the X axis.
  481.     Y: The displacement along the Y axis.
  482.     Z: The displacement along the Z axis.
  483.     Move : Select this to perform an interactive move.
  484.  
  485. It is possible to move the current group interactively, this is done  by
  486. selecting the "Move" gadget.  Now you have to click in one of the views,
  487. and  keep the left mouse button down.  When you then move the mouse, the
  488. position will change.
  489.  
  490. If you stop moving the mouse for a while, the display will be redrawn to
  491. show the splines as they look with the new value.
  492.  
  493. Release the button when you're satisfied with the value.
  494.  
  495. Note that the default mouse command is move, this mean  that  you  don't
  496. have to use the "Move group" window to move points. Just click (and hold
  497. down)  the  left  button  in  the  relevant view. When you then move the
  498. mouse, you'll move the grouped points.
  499.  
  500. You can remove the window by selecting the "close window" gadget.
  501.  
  502.  
  503.  
  504. 2.5: Render:
  505. -------------------
  506. This menu contain  commands  which  are  used  in  connection  with  the
  507. rendering of the current object.
  508.  
  509.  
  510. Mode - Line                      (Shortcut: None›0~)
  511. -----------------------------------------------------------------------
  512. Set rendering mode to line drawing, this  is  the  fastest  of  all  the
  513. rendering modes:
  514.  
  515. Only the outlines of the  generated  triangles  will  be  rendered,  and
  516. there's no hidden line removal.
  517.  
  518.  
  519. Mode - Flat                      (Shortcut: None›0~)
  520. -----------------------------------------------------------------------
  521. Set rendering mode to flat, this is the fastest of the  solid  rendering
  522. modes:
  523.  
  524. Only visible surfaces will be rendered and each triangle will be  filled
  525. with the same color.
  526.  
  527.  
  528. Mode - Gouraud                     (Shortcut: None›0~)
  529. -----------------------------------------------------------------------
  530. Set rendering mode to Gouraud shading:
  531. In this mode, the color of each triangle corner is computed.  The  color
  532. of  points  in  the  triangles  are  computed  by interpolation of these
  533. values.  This mode is faster than the Phong shading mode, but the result
  534. isn't as good as the ones you get when  using  Phong  shading.   Gouraud
  535. shading is the default mode.
  536.  
  537.  
  538. Mode - Phong                     (Shortcut: None›0~)
  539. -----------------------------------------------------------------------
  540. Set rendering mode to Phong shading:
  541. In this mode, the surface normals are interpolated across the triangles.
  542. The color of each point is then calculated based on  the  normal.   This
  543. mode  is  the  slowest of all the rendering modes, but it gives the best
  544. results.
  545.  
  546.  
  547. Render                         (Shortcut: r›0~)
  548. -----------------------------------------------------------------------
  549. Render the object in the perspective view using current direction.   The
  550. camera  distance  will  be computed, so that the object nearly fills the
  551. view.
  552.  
  553. When you select this command, the following happens:
  554.  
  555.     1: The current object is tesselated, ie. converted to triangles and
  556.        saved in memory. 
  557.        The number of triangles are based on the "Patch resolution" 
  558.        parameter.
  559.     2: The camera position is chosen so that it corresponds to the camera 
  560.        perspective view, and a light source is placed behind the camera.
  561.     3: The color table for the ICoons screen are changed into a gray scale.
  562.     4: The object is rendered.
  563.     5: When the user presses the space bar, the original color table is
  564.        reinstalled, and the perspective view is redrawn.
  565.  
  566.  
  567.  
  568.  
  569. Re-render                     (Shortcut: R›0~)
  570. -----------------------------------------------------------------------
  571. Re-render the object in the perspective view  using  current  direction.
  572. The  camera  distance  will be computed, so that the object nearly fills
  573. the view.
  574.  
  575. When you select this command, ICoons will redo phases 2 - 5 as specified
  576. under the "Render" command above. That is, it will reuse the  tesselated
  577. object from the last Render command.
  578.  
  579. Use Re-render if you already has rendered the object, and just want to see 
  580. the object from another direction, or in the expanded view.
  581. In this way, you can skip the time consuming tesselation step.
  582.  
  583.  
  584.  
  585.  
  586. 2.6: Select:
  587. -------------------
  588. This menu contain commands which are used to select/deselect points, and
  589. to create a group of points.  The grouped points are be drawn in green.
  590.  
  591. If you have selected more than one point, you will be in  "Group  mode".
  592. It's  possible to modify all the points in the current group in one step
  593. by using the "Windows" menu entries.
  594.  
  595.  
  596. Group box                    (Shortcut: g›0~)
  597. -----------------------------------------------------------------------
  598. After selecting this command, you have to click in one of the views, and
  599. keep the left mouse button down.
  600.  
  601. When you then move the mouse, you'll see a "drag box" which follows  the
  602. mouse.  When  you  release  the button all points inside the box will be
  603. toggle added to the current group, ie. already grouped  points  will  be
  604. removed  from  the  group,  and  non-grouped points will be added to the
  605. group.
  606.  
  607. You'll enter group mode when executing this command.
  608.  
  609. Group spline                     (Shortcut: ,›0~)
  610. -----------------------------------------------------------------------
  611. If you select a knot by clicking on it, it is possible to toggle add all
  612. points on that spline by using this command.
  613.  
  614. You'll enter group mode when executing this command.
  615.  
  616. Group all                     (Shortcut: .›0~)
  617. -----------------------------------------------------------------------
  618. If you select this command, you'll toggle add all points to the  current
  619. group.
  620.  
  621. You'll enter group mode when executing this command.
  622.  
  623. Group point                     (Shortcut: ;›0~)
  624. -----------------------------------------------------------------------
  625. If you select a point by clicking on it, it is possible to add it to the
  626. current group by using this command.
  627.  
  628. You'll enter group mode when executing this command.
  629.  
  630. Select next                     (Shortcut: n›0~)
  631. -----------------------------------------------------------------------
  632. If you select a knot by clicking on it, you may not have selected the
  633. spline you want. This is possible if splines has been connected to  each
  634. other  at  the current point. In this case, it is possible to select the
  635. next knot which is at the current position by using  the  "Select  next"
  636. command.
  637.  
  638. The knot won't automatically be added to  the  current  group,  use  the
  639. "Group point" command to do this.
  640.  
  641. Deselect all                    (Shortcut: Return›0~)
  642. -----------------------------------------------------------------------
  643. Use this command to deselect all points.
  644.  
  645.  
  646. 2.7: Commands:
  647. -------------------
  648. This menu contain commands which do  the  real  work,  such  as  adding/
  649. deleting splines etc.
  650.  
  651. Add                        (Shortcut: a›0~)
  652. -----------------------------------------------------------------------
  653. This command is used to create a new spline, or to add a new knot to  an
  654. existing spline:
  655.  
  656. After selecting this command, you  should  press  and  hoold  the  mouse
  657. button in one of the views.
  658.  
  659. If the mouse  is  near  a  knot,  a  new  knot  will  be  added  to  the
  660. corresponding  spline,  otherwise  a  new 2-knot spline will be created.
  661. You can now move the knot by moving the mouse.
  662.  
  663. Release the mouse button when you're satisfied with the position of  the
  664. knot.
  665.  
  666.  
  667. Combine                        (Shortcut: C›0~)
  668. -----------------------------------------------------------------------
  669. This command is used to combine two splines into one:
  670. Place the endpoints of the two splines near each other, and be sure that
  671. one of the endpoints are selected (ie. the corresponding segment  should
  672. be  red). When you now select the "Combine" command the two splines will
  673. be combined into one.
  674.  
  675.  
  676. Cut                        (Shortcut: c›0~)
  677. -----------------------------------------------------------------------
  678. This command is used to cut a spline into two splines:
  679. Select a knot on the spline you want  to  cut  in  two.  When  you  then
  680. activate  the  "Cut" command, the selected knot will be deleted, and the
  681. spline will be divided into two seperate splines.
  682.  
  683. This only works for a spline with at least 5 knots.
  684.  
  685.  
  686. Delete                        (Shortcut: d›0~)
  687. -----------------------------------------------------------------------
  688. This command is used to delete a knot from a spline:
  689. Select the knot you want to delete. When you then activate the  "Delete"
  690. command, the selected knot will be deleted.
  691.  
  692. If the corresponding spline only had two knots before the deletion,  the
  693. spline will also be deleted.
  694.  
  695.  
  696. Disconnect                    (Shortcut: D›0~)
  697. -----------------------------------------------------------------------
  698. This command is used to disconnect two or more splines:
  699. Select the point where two or more splines has been connected.  When you
  700. then activate the "Disconnect"  command,  all  the  splines  which  were
  701. connected at the point, will be disconnected.
  702.  
  703.  
  704. Hide                        (Shortcut: h›0~)
  705. -----------------------------------------------------------------------
  706. This command is used to hide all the points which aren't in the  current
  707. group.   If  you  already  have  hidden  some  points, this command will
  708. redisplay all points.
  709.  
  710.  
  711. Move origin                    (Shortcut: None›0~)
  712. -----------------------------------------------------------------------
  713. This command is used move the origin to another position.  This  can  be
  714. neccessary  to  do  because the "Rotate group" command rotates about the
  715. origin.
  716.  
  717. After selecting this command, you have to click in one of the  views  to
  718. select the new position of the origin.
  719.  
  720.  
  721. 3. About the source code
  722. =========================
  723. The source code is distributed under the GNU General Public License, and
  724. you may modify it as you see fit.
  725.  
  726. I probably won't have time to make further changes to the program, so  
  727. I'll  in fact welcome anyone who'll want to enhance it by for instance 
  728. adding new features  to  it.  
  729. The  program  is  reasonably  well  commented,  so it shouldn't be too 
  730. difficult to make changes to it.
  731.  
  732. You're welcome to contact me if you have any questions about the  source
  733. code or about usage of the program. My E-Mail address is:
  734.  
  735.          her@compel.dk
  736.  
  737. Helge E. Rasmussen
  738.  
  739.